Current event loggers, applications operating on an operating system, record events that occur in operating system applications. Typically, event loggers receive, from other applications, a string of data elements and corresponding formatting instructions. The event loggers convert the data elements and formatting instructions to a string that can be recorded in a buffer that is later saved on an application or process crash. By recording the logging buffer in memory, the performance of the system is vastly improved compared to recording the buffer on a disk.
One customary method for recording events is to call a conventional print function from within the process or application, for example, in the C programming language, the printf( ) function. However, such print functions are relatively inefficient due to parsing the string of data elements and the corresponding formatting instructions, and formatting the data elements. Up to 15% CPU utilization may occur when format instructions and related parameters are converted into a formatted string. Furthermore, in most cases this formatted string is never reviewed, unless there is a system or application crash.